package com.itheima.homework.work;

/*
    1. 编写一个接口ShapePara，要求： 接口中的方法：
        int getArea()：获得图形的面积。
        int getCircumference()：获得图形的周长

    2. 编写一个圆类Circle，要求：圆类Circle实现接口ShapePara。
        该类含有一个静态常量：
        PI： double类型，值为3.14
        该类包含有成员变量：
        radius: public修饰的double类型radius,表示圆的半径。

   **包含的方法有：**

   ```java
   Circle(double radius) 有参构造方法。以形参表中的参数初始化半径，圆心为坐标原点（x=0,y=0）。

   double getRadius()：获取半径为方法的返回值。
   void setRadius(double  radius)：利用形参表中的参数设置类Circle的radius域。

   ```

请根据上述要求代码实现相关类和接口，并定创建测试类，定义一个圆对象。半径为10，求周长和面积。

```
注：
圆周长公式： 周长 = PI*2*radius
圆面积公式： 面积 = PI * radius*radius
```

**代码：**
 */
public class Test1 {
    public static void main(String[] args) {
        Circle circle = new Circle(10);
        System.out.println(circle.getArea());// 打印面积
        System.out.println(circle.getCircumference());// 打印周长
    }
}

// 接口 : 图形
interface ShapePara {
    // 获得图形的面积。
    public abstract double getArea();

    // 获得图形的周长
    public abstract double getCircumference();
}

// 圆类Circle，要求：圆类Circle实现接口ShapePara
class Circle implements ShapePara {
    //  该类含有一个静态常量：
    //  PI： double类型，值为3.14
    private final double PI = 3.14;

    // radius: private修饰的double类型radius,表示圆的半径。
    private double radius;


    public Circle() {

    }

    public Circle(double radius) {
        this.radius = radius;
    }

    public double getPI() {
        return PI;
    }

    // 获取面积
    @Override
    public double getArea() {
        // return PI * radius * radius;
        return PI * Math.pow(radius, 2);
    }

    // 获取周长
    @Override
    public double getCircumference() {
        return 2 * PI * radius;
    }
}

